home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr53 / pctv4n_1.zip / BUBBLE.TXT < prev    next >
Text File  |  1993-06-10  |  1KB  |  38 lines

  1.          PROGRAM
  2. eMax         EQUATE(500)         !Maximum elements constant
  3. GlobalGrp    GROUP,PRE(G)         !Global data group
  4. Array           BYTE,DIM(eMax)         !Array of bytes
  5. Top           LONG             !Top element
  6. Buf           BYTE             !Swap buffer
  7. Pos           LONG             !Position counter
  8. Start           LONG             !Start time
  9. Stop           LONG             !Stop time
  10.          END !group
  11.  
  12.   CODE
  13.   LOOP G:Pos = 1 TO eMax         !Loop through array
  14.     G:Array[G:Pos] = RANDOM(0,255)     ! fill with random values
  15.   END !loop
  16.   BEEP                     !Signal start
  17.   G:Start = CLOCK()             !Save start time
  18.   DO Sort_Array                 !Do bubble sort routine
  19.   G:Stop = CLOCK()             !Save stop time
  20.   TYPE(G:Stop - (G:Start - 1))         !Display elapsed time
  21.   BEEP                     !Signal stop
  22.   RETURN                 !Exit program
  23.  
  24. Sort_Array   ROUTINE             !Bubble sort routine
  25.   G:Top = 0                 !Initialize Top position
  26.   LOOP eMax TIMES             !Loop through array
  27.     G:Top += 1                 ! Increment Top position
  28.     LOOP G:Pos = G:Top TO eMax         ! Loop from Top to bottom
  29.       IF G:Array[G:Pos] < G:Array[G:Top] !  If position element is
  30.     G:Buf = G:Array[G:Top]         !  less than Top then swap.
  31.     G:Array[G:Top] = G:Array[G:Pos]
  32.     G:Array[G:Pos] = G:Buf
  33.       END !if
  34.     END !loop
  35.   END !loop
  36.   EXIT                     !Exit routine
  37.  
  38.